package chars;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.Charset;

public class ReaderTest1 {

	public static void main(String[] args) throws IOException {
		
		// 确定被读取的文件
		File file = new File( "GBK-OutputStreamTest2.java" );
		
		// 创建一个可以读取指定文件内容的字节输入流
		InputStream in = new FileInputStream( file );
		
		
		// 声明一个字符输入流，用来以字符为单位读取数据
		Reader reader = null ;
		
		Charset charset = Charset.forName( "GBK" );
		// InputStreamReader : 将 字节输入流 转换为 字符输入流
		reader = new InputStreamReader( in , charset );
		
		int c ;
		
		// 从字符输入流中读取单个字符(以int形式返回)
		while( ( c = reader.read() ) != -1 ) {
			System.out.print( ( char ) c );
		}
		
		reader.close();
		in.close();

	}

}
